package modelo;

import geometria.*;

import java.util.Random;

/**
 * 
 * Aeronave con la capacidad de volar sin desplazarse.
 * 
 */
public class Helicoptero extends AeroNave {

	public Helicoptero(Coordenada posicionIni) {

		super(posicionIni);
		this.carreteo = 0D;
		this.peso = 30D;
		this.alto = 45D;
		this.ancho = this.alto;
		this.limites = new Circunferencia(this.posicion, this.ancho);
		Random random = new Random();
		velocidad = new Velocidad(random.nextDouble(), random.nextDouble());
		velocidad.setModulo(this.getModuloVelocidadDefault());
	}

	protected Double getModuloVelocidadDefault() {
		return 8D;
	}

	@Override
	public void actualizarPosicion(Double tiempo) {

		Coordenada puntoFinal = null;
		try {
			puntoFinal = this.trayectoria.obtenerProximoPunto();
		} catch (TrayectoriaVaciaException e) {
			super.actualizarPosicion(tiempo);
		}

		if (this.trayectoria.estaEnUltimoPunto()
				&& puntoFinal.coincideCon(this.posicion, 0D))
			return;

		super.actualizarPosicion(tiempo);

	}

	@Override
	protected boolean entradaCorrecta(Pista unaPista) {

		return unaPista.contieneAlPunto(this.posicion);
	}

}
